It is widely expected that the Internet will be re-invented as a converged packet-based platform for new services, delivering all forms of digital material into all types of application domain. The new “Intelligent Internet” must be capable of supporting an unlimited number of new services, including but not limited to, Quality of Service levels, and associated paying business models. Furthermore, various levels of protection of privacy and intellectual property, appropriate to the material and its use, must also be supported.
In addition bandwidth demands are increasing at least 2× per year, so this functionality will be required at line rates of 40 Gbit/s for multiple OC192 lines and for OC768. The fast, intelligent, flow of digital material end-to-end is imperative. Embedded intelligence is required at the edge and in the core of the Internet infrastructure to provide processing that enables the services described above. Processing tasks carried out within the network are fundamentally different from the tasks for which current known Internet processing models were developed, and therefore call for a new architectural approach. Network Processing is characterized by very high data rates, relatively simple processing requirements and hard real-time constraints. This specification uses the term “Data Flow Processing” to describe this class of problem.
Attributes of Data Flow Processing
Data throughput is the critical dimension, due to the fact that optical bandwidth is increasing faster than semiconductor capabilities. Software programmability, and hence flexibility, is vital, since requirements, functions and protocols will continue to evolve rapidly, threatening product lifetimes. Scalability is essential as bandwidth levels move from core to edge. Finally, the complexity of the processing algorithms is limited, requiring that the processing architecture be optimized to avoid unnecessary, costly and power-consuming hardware functions.
There are many existing architectures that are optimized for different tasks. For example, for standard compute problems, a CISC or RISC processor may be most appropriate, while for media processing a DSP or VLIW architecture is the best fit. For the ultimate in performance, where flexibility is not required, a hardwired logic solution is preferred.
This specification outlines a new processor architecture that is suitable, specifically but not exclusively, for Data Flow Processing problems. In this specification, this architecture is given the name “Multi Threaded Array Processing” (MTAP), which offers the speed of logic, the programmability of a CPU, and fast access to large amounts of local memory.
In its broadest concept, the MTAP architecture is a parallel data processing structure designed to directly address the bandwidth challenge. It presupposes, in a preferred embodiment, that, to perform advanced packet processing functions efficiently at 40 Gbit/s and above, whole packets must be stored on chip, very close to a large number of individual processing elements. The “intelligent memory” design of the MTAP architecture follows directly from this approach of being “bandwidth-centric”, rather than “code-centric”.
Adaptation of Established Architectures
Current approaches to Network Processing all involves attempts to adapt established architectures to the needs of Data Flow Processing.
Multiple (possibly modified) RISC cores are being used to bring programmability and some level of parallel execution to the task. However, these retain the inherent overhead of the computational tasks for which they were originally designed, relying on serial processing through each RISC core. The lack of a formalized parallel processing framework results in a complex, heterogeneous, multiple-program software environment, making scalability almost impossible.
ASIC approaches are being used for speed but have very long design times and large up-front design costs, while offering neither programmability nor scalability. Hybrid approaches combining some of each of the above are being attempted, but they combine the disadvantages as well as the advantages.